/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.eps.tesoreria.Entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.eps.entity.Tipo;


/**
 *
 * @author Luis_Angel
 */
@Entity
@Table(name = "detalle_rendicion_cajachica")
@NamedQueries({
    @NamedQuery(name = "DetalleRendicionCajachica.findAll", query = "SELECT d FROM DetalleRendicionCajachica d"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByIdRendicionCajaChica", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.detalleRendicionCajachicaPK.idRendicionCajaChica = :idRendicionCajaChica"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByCorrelativo", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.detalleRendicionCajachicaPK.correlativo = :correlativo"),
    @NamedQuery(name = "DetalleRendicionCajachica.findBySerieCaja", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.serieCaja = :serieCaja"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByNumeroCaja", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.numeroCaja = :numeroCaja"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByRucProveedor", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.rucProveedor = :rucProveedor"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByCodTrabajador", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.codTrabajador = :codTrabajador"),
    @NamedQuery(name = "DetalleRendicionCajachica.findBySubtotal", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.subtotal = :subtotal"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByImpuesto", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.impuesto = :impuesto"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByTotal", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.total = :total"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByIdCodPresupuestal", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.idCodPresupuestal = :idCodPresupuestal"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByCodCentroCosto", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.codCentroCosto = :codCentroCosto"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByCodUniOrganizativa", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.codUniOrganizativa = :codUniOrganizativa"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByCtaCble", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.ctaCble = :ctaCble"),
    @NamedQuery(name = "DetalleRendicionCajachica.findByGlosa", query = "SELECT d FROM DetalleRendicionCajachica d WHERE d.glosa = :glosa")})
public class DetalleRendicionCajachica implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected DetalleRendicionCajachicaPK detalleRendicionCajachicaPK;
    @Column(name = "serie_caja")
    private String serieCaja;
    @Column(name = "numero_caja")
    private String numeroCaja;
    @Column(name = "ruc_proveedor")
    private String rucProveedor;
    @Column(name = "cod_trabajador")
    private String codTrabajador;
    @Column(name = "subtotal")
    private BigDecimal subtotal;
    @Column(name = "impuesto")
    private BigDecimal impuesto;
    @Column(name = "impuesto_no_gravado")
    private BigDecimal impuestoNoGravado;
    @Column(name = "total")
    private BigDecimal total;
    @Column(name = "id_cod_presupuestal")
    private String idCodPresupuestal;
    @Column(name = "Cod_CentroCosto")
    private String codCentroCosto;
    @Column(name = "cod_Uni_Organizativa")
    private String codUniOrganizativa;
    @Column(name = "cta_cble")
    private String ctaCble;
    @Column(name = "glosa")
    private String glosa;
    @JoinColumn(name = "id_rendicion_caja_chica", referencedColumnName = "id_rendicion_caja_chica", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private RendicionCajachica rendicionCajachica;
    @JoinColumn(name = "tipo_documento", referencedColumnName = "id_tabla_tipo")
    @ManyToOne
    private Tipo tipoDocumento;
    @JoinColumn(name = "plantilla_impuesto", referencedColumnName = "id_tabla_tipo")
    @ManyToOne
    private Tipo plantillaImpuesto;
    @Column(name = "fecha_emision")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaEmision;
    @Column(name = "id_cod_inversion")
    private String idCodInversion;
    @Column(name = "cta_cble_aux")
    private String cta_cble_aux;
    @Column(name = "id_proyecto")
    private String idproyecto;

    public DetalleRendicionCajachica() {
    }

    public DetalleRendicionCajachica(DetalleRendicionCajachicaPK detalleRendicionCajachicaPK) {
        this.detalleRendicionCajachicaPK = detalleRendicionCajachicaPK;
    }

    public DetalleRendicionCajachica(String idRendicionCajaChica, int correlativo) {
        this.detalleRendicionCajachicaPK = new DetalleRendicionCajachicaPK(idRendicionCajaChica, correlativo);
    }

    public DetalleRendicionCajachicaPK getDetalleRendicionCajachicaPK() {
        return detalleRendicionCajachicaPK;
    }

    public void setDetalleRendicionCajachicaPK(DetalleRendicionCajachicaPK detalleRendicionCajachicaPK) {
        this.detalleRendicionCajachicaPK = detalleRendicionCajachicaPK;
    }

    public BigDecimal getImpuestoNoGravado() {
		return impuestoNoGravado;
	}

	public void setImpuestoNoGravado(BigDecimal impuestoNoGravado) {
		this.impuestoNoGravado = impuestoNoGravado;
	}

	public Tipo getPlantillaImpuesto() {
        return plantillaImpuesto;
    }

    public void setPlantillaImpuesto(Tipo plantillaImpuesto) {
        this.plantillaImpuesto = plantillaImpuesto;
    }

    public String getIdproyecto() {
        return idproyecto;
    }

    public void setIdproyecto(String idproyecto) {
        this.idproyecto = idproyecto;
    }

    public String getCta_cble_aux() {
        return cta_cble_aux;
    }

    public void setCta_cble_aux(String cta_cble_aux) {
        this.cta_cble_aux = cta_cble_aux;
    }

    public String getIdCodInversion() {
        return idCodInversion;
    }

    public void setIdCodInversion(String idCodInversion) {
        this.idCodInversion = idCodInversion;
    }

    public Date getFechaEmision() {
        return fechaEmision;
    }

    public void setFechaEmision(Date fechaEmision) {
        this.fechaEmision = fechaEmision;
    }

    public String getSerieCaja() {
        return serieCaja;
    }

    public void setSerieCaja(String serieCaja) {
        this.serieCaja = serieCaja;
    }

    public String getNumeroCaja() {
        return numeroCaja;
    }

    public void setNumeroCaja(String numeroCaja) {
        this.numeroCaja = numeroCaja;
    }

    public String getRucProveedor() {
        return rucProveedor;
    }

    public void setRucProveedor(String rucProveedor) {
        this.rucProveedor = rucProveedor;
    }

    public String getCodTrabajador() {
        return codTrabajador;
    }

    public void setCodTrabajador(String codTrabajador) {
        this.codTrabajador = codTrabajador;
    }

    public BigDecimal getSubtotal() {
        return subtotal;
    }

    public void setSubtotal(BigDecimal subtotal) {
        this.subtotal = subtotal;
    }

    public BigDecimal getImpuesto() {
        return impuesto;
    }

    public void setImpuesto(BigDecimal impuesto) {
        this.impuesto = impuesto;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public String getIdCodPresupuestal() {
        return idCodPresupuestal;
    }

    public void setIdCodPresupuestal(String idCodPresupuestal) {
        this.idCodPresupuestal = idCodPresupuestal;
    }

    public String getCodCentroCosto() {
        return codCentroCosto;
    }

    public void setCodCentroCosto(String codCentroCosto) {
        this.codCentroCosto = codCentroCosto;
    }

    public String getCodUniOrganizativa() {
        return codUniOrganizativa;
    }

    public void setCodUniOrganizativa(String codUniOrganizativa) {
        this.codUniOrganizativa = codUniOrganizativa;
    }

    public String getCtaCble() {
        return ctaCble;
    }

    public void setCtaCble(String ctaCble) {
        this.ctaCble = ctaCble;
    }

    public String getGlosa() {
        return glosa;
    }

    public void setGlosa(String glosa) {
        this.glosa = glosa;
    }

    public RendicionCajachica getRendicionCajachica() {
        return rendicionCajachica;
    }

    public void setRendicionCajachica(RendicionCajachica rendicionCajachica) {
        this.rendicionCajachica = rendicionCajachica;
    }

    public Tipo getTipoDocumento() {
        return tipoDocumento;
    }

    public void setTipoDocumento(Tipo tipoDocumento) {
        this.tipoDocumento = tipoDocumento;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (detalleRendicionCajachicaPK != null ? detalleRendicionCajachicaPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof DetalleRendicionCajachica)) {
            return false;
        }
        DetalleRendicionCajachica other = (DetalleRendicionCajachica) object;
        if ((this.detalleRendicionCajachicaPK == null && other.detalleRendicionCajachicaPK != null) || (this.detalleRendicionCajachicaPK != null && !this.detalleRendicionCajachicaPK.equals(other.detalleRendicionCajachicaPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "tesoreria.ejb30.entity.DetalleRendicionCajachica[detalleRendicionCajachicaPK=" + detalleRendicionCajachicaPK + "]";
    }

}
